import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.stream.Stream;

/**
 * @Author: Liu, Yunfeng
 * @DateTime: 2020/5/17 11:34
 * @Description: 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀，返回空字符串 ""。
 */
public class LongestCommonPrefix {
    public static String longestCommonPrefix(String[] strs) {
        if(strs==null||strs.length==0){
            return "";
        }
        if(strs.length==1){
            return strs[0];
        }
        for(int i=0;i<=strs[0].length();i++){
            String prefix = strs[0].substring(0,i);
            for(String s:strs){
                if(!s.startsWith(prefix)){
                    return strs[0].substring(0,i-1);
                }
            }
        }
        return strs[0];
    }

    public static void main(String[] args){
        String[] strs = {"q","q"};
        System.out.println(longestCommonPrefix(strs));
    }
}
/*
* 若数组为null或者为空则返回“”。
* 数组长度唯一则返回当前字符串
* 数组不唯一则取第一个字符串的长度为1-n的子串一次与其他的匹配，不匹配则返回前一个子串
* 全部匹配都成功了则返回第一个子串
* */